#include <string>

#pragma once
#include "Item.h"
class Weapon :
	public Item
{
public:
	Weapon() : Item(), damage(0.0), range(0.0), resistance(0.0), durability(0), quality(0) {};
	Weapon(string name, int c, int s, int g, float w, float dmg, float rng, float rst, int dur, int q ) 
		: Item(name, c, s, g, w), damage(dmg), range(rng), resistance(rst), durability(dur), quality(q) {};
	~Weapon();
	Weapon(const Weapon&);
	Weapon& operator=(const Weapon&);

	//accessors
	float getDamage() const { return damage; }
	float getRange() const { return range; }
	float getResistance() const { return resistance; }
	int getDurability() const { return durability; }
	int getQuality() const { return quality; }

	//mutators
	void setDamage(const float d) { damage = d; }
	void setRange(const float r) { range = r; }
	void setResistance(const float r) { resistance = r; }
	void setDurability(const int d) { durability = d; }
	void setQuality(const int q) { quality = q; }

protected:
	float damage, range, resistance;
	int durability, quality;
};

